Intelligent Collaboration Transparency (ICT) is an application sharing framework for sharing familiar single-user tools (applications) for collaboration purposes without modifying their source code. At the user level, unmodified heterogeneous applications can be shared and interoperated. At the system level, the application sharing middleware is able to understand the behavior of the applications being shared. The main assumption underlying this work is that allowing collaborators to use familiar single-user tools for cooperative work can reduce development, deployment, and learning costs while improving individual and group productivity.
The project is led by Professor Du Li and started in 2001 at Texas A&M university. Its first significant paper was published in the ACM CSCW 2002 Conference. In the system prototype, heterogeneous single-user editors such as Microsoft Word and GVim were shared to edit the same document. As in early application sharing systems, generality of the technical approach was pursued at this stage. A machine learning approach was explored to understand the editors' behavior such that window events can be translated between different editors for synchronization. Operational transformation was used for optimistic concurrency control, which allows any user to edit any part of the shared document at any time. However, due to engineering difficulties in understanding application behavior from external, only a small subset of the original editor functionality is allowed.
At a later stage (2004), a diffing-based approach was taken to specialize the framework in the domain of group editing. The result was presented in an ACM CSCW 2006 paper. The users are still allowed to edit a shared document concurrently with heterogeneous single-user editors without being constrained. A diff algorithm is called to derive edit scripts at each site. Concurrent edit scripts are merged on the fly to synchronize states of editors. As a result, users are not limited by editing commands that can be understood by the application sharing middleware. This implementation strategy significantly reduces engineering costs. In principle, any single-user editor can be shared with very little effort.